package com.lct.simpleforecast.mvp.view.base

/**
 * Author：SkySmile
 * Date：2018/7/5
 * Description：基础view接口，根据需要实现
 */
interface IBaseView {
    /**
     * 网络不可用
     *
     * @param mark 标记哪种情况下发生的网络不可用,默认为空
     * @param isRefresh 是否是刷新的回调，默认false（true是刷新的回调，false第一次加载的回调）
     */
    fun onNetWorkError(mark: String = "", isRefresh: Boolean = false)

    /**
     * 数据加载成功
     *
     * @param t 实体类对象
     * @param isRefresh 是否是刷新的回调，默认false（true是刷新的回调，false第一次加载的回调）
     */
    fun <T> onLoadSuccess(t: T, isRefresh: Boolean = false)

    /**
     * 数据加载失败
     *
     * @param errorMsg 错误信息
     * @param isRefresh 是否是刷新的回调，默认false（true是刷新的回调，false第一次加载的回调）
     */
    fun onLoadFailure(errorMsg: String, isRefresh: Boolean = false)

    /**
     * 显示加载loading
     */
    fun showLoading()

    /**
     * 隐藏加载loading
     */
    fun hideLoading()
}